Technical Field
This disclosure relates generally to storing data on a physical recording medium, and more specifically to storing data in a manner that facilitates improved access to the data.
Description of the Related Art
Various encoding schemes have been developed for detecting data corruption and/or facilitating data recovery. Such schemes may use error-detecting codes computed from the data (such as checksums, cyclic redundancy check (CRC) codes, hash values, parity bits, etc.) in order to determine whether the data has changed while being stored. Still further, such schemes may use data stored redundantly or use error-correcting codes (such as Hamming codes, Reed-Muller codes, etc.) to recover data if it becomes corrupted.
Within the context of data storage, redundant array of independent disks (RAID) schemes are, perhaps, the most prevalent. Depending on the particular implementation, a RAID may employ data redundancy as well as encoded information to facilitate recovering from a disk failure. For example, in RAID 1, data may be mirrored between two or more storage devices, so that data can still be recovered if one of the devices fails. In other implementations, such as RAID 3-5, data is written across multiple storage devices along with parity information computed from the data. If a drive failure occurs, an exclusive-or operation may be performed between the parity information and the remaining data to recover data from the failed drive.